#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
#include<stdio.h>
using namespace std;
long long n,l,r,i,s,q,m,j,k;
struct ooo
{
	int aa;
	int bb;
	int cc;
	int dd;
	int ee;
	int x;
	int y;
	int z;
}as[10005],mg[10005];
string a;
int main()
{
	freopen("network.in","r",stdin);
	freopen("network.out","w",stdout);
    cin>>n;
    getchar();
    for(i=1;i<=n;i++)
    {
    	
    	getline(cin,a);
    	if(a[0]=='S')
    	{
    		as[i].x=1;
		}
		else
		{
			as[i].x=2;
		}
    		j=6;
    		while(a[j]!='.')
    		{
    			if(a[j]>='0'&&a[j]<='9')
    			{
    				s=s*10;
    				s=s+a[j]-'0';
				}
				j++;
			}
			as[i].aa=s;
			s=0;
			j++;
			while(a[j]!='.')
    		{
    			if(a[j]>='0'&&a[j]<='9')
    			{
    				s=s*10;
    				s=s+a[j]-'0';
				}
				j++;

			}
			as[i].bb=s;
			s=0;
			j++;
			while(a[j]!='.')
    		{
    			if(a[j]>='0'&&a[j]<='9')
    			{
    				s=s*10;
    				s=s+a[j]-'0';
				}
				j++;
			}
			as[i].cc=s;
			s=0;
			j++;
			while(a[j]!=':')
    		{
    			if(a[j]>='0'&&a[j]<='9')
    			{
    				s=s*10;
    				s=s+a[j]-'0';
				}
				j++;
			}
			as[i].dd=s;
			s=0;
			j++;

			while(j<a.size())
    		{
    			if(a[j]>='0'&&a[j]<='9')
    			{
    				s=s*10;
    				s=s+a[j]-'0';
				}
				j++;
			}
			as[i].ee=s;

			s=0;
			as[i].y=0;
			if(a[0]=='S')
    	{
    		as[i].x=1;
		}
		//cout<<as[i].aa<<" "<<as[i].bb<<" "<<as[i].cc<<" "<<as[i].dd<<" "<<as[i].ee<<" "<<as[i].x<<endl;
	}
	for(i=1;i<=n;i++)
	{
		if(as[i].aa>255||as[i].bb>255||as[i].cc>255||as[i].dd>255||as[i].ee>65535)
		cout<<"ERR"<<endl;
		else
		{
		if(as[i].x==1)
			{
		for(j=1;j<=n;j++)
		{
			
		//cout<<as[j].aa<<" "<<as[j].bb<<" "<<as[j].cc<<" "<<as[j].dd<<" "<<as[j].ee<<" "<<as[j].x<<" "<<as[i].y<<endl;
				if(as[i].aa==as[j].aa&&as[i].bb==as[j].bb&&as[i].cc==as[j].cc&&as[i].dd==as[j].dd&&as[i].ee==as[j].ee&&as[j].x==2&&as[j].y==0)
				{
				//	cout<<j;
					as[i].y=1;
					as[j].y=i;
				//	break;

				}
			}
		//	cout<<i;
			if(as[i].y==0)
			cout<<"FAIL"<<endl;
			else
					cout<<"OK"<<endl;
		}
		else
		{
			if(as[i].y!=0)
			cout<<as[i].y<<endl;
			else
			{
			for(j=i+1;j<=n;j++)
		{
				if(as[i].aa==as[j].aa&&as[i].bb==as[j].bb&&as[i].cc==as[j].cc&&as[i].dd==as[j].dd&&as[i].ee==as[j].ee&&as[j].x==0&&as[j].y==0)
				{
					as[i].y=j;
					as[j].y=1;
					cout<<j<<endl;
					break;
				}
			}
			if(as[i].y==0)
			cout<<"FAIL"<<endl;
		}
			}
		}
		}
		fclose(stdin);
		fclose(stdout);
		return 0;
	}

 

	






